/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package LogicaNegocio.Empleados;

import LogicaNegocio.Biblioteca.Pedido;
import LogicaNegocio.Biblioteca.Prestamo;
import java.util.List;

/**
 * Esta clase en java define las caracteristicas y atributos
 * para los empleados que son bibliotecarios.
 *
 * @author sebaxtian
 * Archivo: Bibliotecario.java
 * @version 1.0
 * Fecha: sáb abr 10 20:12:54 COT 2010
 */


public class Bibliotecario implements Empleado {

    //Atributos de clase
    private int cedulaBibliotecario;
    private int cedulaJefe;
    private String primerApellido;
    private String segundoApellido;
    private String primerNombre;
    private String segundoNombre;
    private String password;
    private String direccion;
    private String telefono;
    private String universidad;
    private String cargo;
    private boolean vinculado;
    private List<Prestamo> listaPrestamos;
    private List<Pedido> listaPedidos;
    private JefeBibliotecario jefeBibliotecario;

    /**
     * Crea un bibliotecario con atributos nulos.
     */
    public Bibliotecario() {
        this.cedulaBibliotecario = -1;
        this.cedulaJefe = -1;
        this.primerNombre = null;
        this.primerApellido = null;
        this.segundoNombre = null;
        this.segundoApellido = null;
        this.password = null;
        this.direccion = null;
        this.telefono = null;
        this.universidad = null;
        this.cargo = null;
        this.vinculado = false;
        this.listaPrestamos = null;
        this.listaPedidos = null;
        this.jefeBibliotecario = null;
    }

    /**
     * Crea un bibliotecario con los atributos dados como argumentos.
     *
     * @param cedulaBibliotecario
     * @param cedulaJefe
     * @param primerNombre
     * @param primerApellido
     * @param segundoNombre
     * @param segundoApellido
     * @param password
     * @param direccion
     * @param telefono
     * @param universidad
     * @param cargo
     * @param vinculado
     */
    public Bibliotecario(int cedulaBibliotecario, int cedulaJefe, String primerNombre, String primerApellido,
            String segundoNombre, String segundoApellido, String password, String direccion,
            String telefono, String universidad, String cargo, boolean vinculado) {
        this.cedulaBibliotecario = cedulaBibliotecario;
        this.cedulaJefe = cedulaJefe;
        this.primerNombre = primerNombre;
        this.primerApellido = primerApellido;
        this.segundoNombre = segundoNombre;
        this.segundoApellido = segundoApellido;
        this.password = password;
        this.direccion = direccion;
        this.telefono = telefono;
        this.universidad = universidad;
        this.cargo = cargo;
        this.vinculado = vinculado;
        this.listaPrestamos = null;
        this.listaPedidos = null;
        this.jefeBibliotecario = null;
    }

    public int getCedula(){
        return cedulaBibliotecario;
    }

    public void setCedula(int cedulaBibliotecario){
        this.cedulaBibliotecario = cedulaBibliotecario;
    }

    public int getCedulaEmpleadoJefe() {
        return cedulaJefe;
    }

    public void setCedulaEmpleadoJefe(int cedula) {
        this.cedulaJefe = cedula;
    }

    public String getPrimerNombre(){
        return primerNombre;
    }

    public void setPrimerNombre(String primerNombre){
        this.primerNombre = primerNombre;
    }

    public String getSegundoNombre(){
        return segundoNombre;
    }

    public void setSegundoNombre(String segundoNombre){
        this.segundoNombre = segundoNombre;
    }

    public String getPrimerApellido() {
        return primerApellido;
    }

    public void setPrimerApellido(String primerApellido) {
        this.primerApellido = primerApellido;
    }

    public String getSegundoApellido() {
        return segundoApellido;
    }

    public void setSegundoApellido(String segundoApellido) {
        this.segundoApellido = segundoApellido;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getDireccion() {
        return direccion;
    }

    public void setDireccion(String direccion) {
        this.direccion = direccion;
    }

    public String getTelefono() {
        return telefono;
    }

    public void setTelefono(String telefono) {
        this.telefono = telefono;
    }

    public String getUniversidad() {
        return universidad;
    }

    public void setUniversidad(String universidad) {
        this.universidad = universidad;
    }

    public String getCargo() {
        return cargo;
    }

    public void setCargo(String cargo) {
        this.cargo = cargo;
    }

    public boolean getVinculado() {
        return vinculado;
    }

    public void setVinculado(boolean vinculado) {
        this.vinculado = vinculado;
    }

    /**
     * Obtiene el jefe bibliotecario del empleado bibliotecario.
     *
     * @return jefeBibliotecario
     */
    public JefeBibliotecario getJefeBibliotecario() {
        return jefeBibliotecario;
    }

    /**
     * Cambia el jefe bibliotecario por un nuevo jefe bibliotecario.
     *
     * @param newJefeBibliotecario
     */
    public void setJefeBibliotecario(JefeBibliotecario newJefeBibliotecario) {
        this.jefeBibliotecario = newJefeBibliotecario;
    }
    
    /**
     * Obtiene la lista de prestamos que se han realizado.
     * 
     * @return listaPrestamos
     */
    public List<Prestamo> getListaPrestamos() {
        return listaPrestamos;
    }

    /**
     * Cambia la lista de prestamos que se han realizado.
     *
     * @param listaPrestamos
     */
    public void setListaPrestamos(List<Prestamo> listaPrestamos) {
        this.listaPrestamos = listaPrestamos;
    }

    /**
     * Obtiene la lista de los pedidos que se han realizado.
     * @return listaPedidos
     */
    public List<Pedido> getListaPedidos() {
        return listaPedidos;
    }

    /**
     * Cambia la lista de los pedidos que se han realizado.
     *
     * @param listaPedidos
     */
    public void setListaPedidos(List<Pedido> listaPedidos) {
        this.listaPedidos = listaPedidos;
    }
    
}
